<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!-- saved from url=(0042)http://arduino.ru/Tutorial/registr_74HC595 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" class="js"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Множим выходы с помощью сдвигового регистра 74HC595 | Аппаратная платформа Arduino</title>
    
<link rel="shortcut icon" href="http://arduino.ru/sites/default/files/framework_favicon.ico" type="image/x-icon">
<meta name="description" content="Рассмотрим типичную ситуацию, когда вам нужно больше выходов (пинов), чем может предложить контроллер Arduino. В этом случае самый простой выход — использовать сдвиговый регистр. В данном примере используется 74HC595.">
<meta name="keywords" content="Arduino,контроллер,электроника,плата,конструктор,электротехника,программирование">
<link rel="canonical" href="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino.htm">
<meta name="revisit-after" content="1 day">
    <link type="text/css" rel="stylesheet" media="all" href="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/css_3fab550f8185bd84f274d7fe8a913561.css">
<link type="text/css" rel="stylesheet" media="print" href="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/css_b3f750061ba5c4d0a83b8e3e5e735fa1.css">
    <script type="text/javascript" async="" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ga.js"></script><script type="text/javascript" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/js_fce1a6d432fc71212f86e7823be6a5ad.js"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/", "lightbox2": { "rtl": "0", "file_path": "/(\\w\\w/)sites/default/files", "default_image": "/modules/lightbox2/images/brokenimage.jpg", "border_size": 10, "font_color": "000", "box_color": "fff", "top_position": "", "overlay_opacity": "0.8", "overlay_color": "000", "disable_close_click": true, "resize_sequence": 0, "resize_speed": 400, "fade_in_speed": 400, "slide_down_speed": 600, "use_alt_layout": false, "disable_resize": false, "disable_zoom": false, "force_show_nav": false, "show_caption": true, "loop_items": false, "node_link_text": "View Image Details", "node_link_target": false, "image_count": "Image !current of !total", "video_count": "Video !current of !total", "page_count": "Page !current of !total", "lite_press_x_close": "press \x3ca href=\"#\" onclick=\"hideLightbox(); return FALSE;\"\x3e\x3ckbd\x3ex\x3c/kbd\x3e\x3c/a\x3e to close", "download_link_text": "", "enable_login": false, "enable_contact": false, "keys_close": "c x 27", "keys_previous": "p 37", "keys_next": "n 39", "keys_zoom": "z", "keys_play_pause": "32", "display_image_size": "original", "image_node_sizes": "()", "trigger_lightbox_classes": "", "trigger_lightbox_group_classes": "", "trigger_slideshow_classes": "", "trigger_lightframe_classes": "", "trigger_lightframe_group_classes": "", "custom_class_handler": 0, "custom_trigger_classes": "", "disable_for_gallery_lists": true, "disable_for_acidfree_gallery_lists": true, "enable_acidfree_videos": true, "slideshow_interval": 5000, "slideshow_automatic_start": true, "slideshow_automatic_exit": true, "show_play_pause": true, "pause_on_next_click": false, "pause_on_previous_click": true, "loop_slides": false, "iframe_width": 600, "iframe_height": 400, "iframe_border": 1, "enable_video": false }, "syntaxhighlighter": { "clipboard": "/sites/all/libraries/syntaxhighlighter/scripts/clipboard.swf" } });
//--><!]]>
</script>
    <!--[if lte IE 7]><link type="text/css" rel="stylesheet" media="all" href="/themes/framework/ie.css" /><![endif]--> <!--If Less Than or Equal (lte) to IE 7-->
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-2018649-4']);
      _gaq.push(['_trackPageview']);

      (function() {
         var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
          ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

   </script>
  <script type="text/javascript" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/saved_resource"></script><style type="text/css">.gscb_a{display:inline-block;font:27px/13px arial,sans-serif}.gsst_a .gscb_a{color:#a1b9ed;cursor:pointer}.gsst_a:hover .gscb_a,.gsst_a:focus .gscb_a{color:#36c}.gsst_a{display:inline-block}.gsst_a{cursor:pointer;padding:0 4px}.gsst_a:hover{text-decoration:none!important}.gsst_b{font-size:16px;padding:0 2px;position:relative;user-select:none;-webkit-user-select:none;white-space:nowrap}.gsst_e{opacity:0.55;}.gsst_a:hover .gsst_e,.gsst_a:focus .gsst_e{opacity:0.72;}.gsst_a:active .gsst_e{opacity:1;}.gsst_f{background:white;text-align:left}.gsst_g{background-color:white;border:1px solid #ccc;border-top-color:#d9d9d9;box-shadow:0 2px 4px rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);margin:-1px -3px;padding:0 6px}.gsst_h{background-color:white;height:1px;margin-bottom:-1px;position:relative;top:-1px}.gsib_a{width:100%;padding:4px 6px 0}.gsib_a,.gsib_b{vertical-align:top}.gssb_c{border:0;position:absolute;z-index:989}.gssb_e{border:1px solid #ccc;border-top-color:#d9d9d9;box-shadow:0 2px 4px rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);cursor:default}.gssb_f{visibility:hidden;white-space:nowrap}.gssb_k{border:0;display:block;position:absolute;top:0;z-index:988}.gsdd_a{border:none!important}.gscsep_a{display:none}.gsq_a{padding:0}.gssb_a{padding:0 7px}.gssb_a,.gssb_a td{white-space:nowrap;overflow:hidden;line-height:22px}#gssb_b{font-size:11px;color:#36c;text-decoration:none}#gssb_b:hover{font-size:11px;color:#36c;text-decoration:underline}.gssb_g{text-align:center;padding:8px 0 7px;position:relative}.gssb_h{font-size:15px;height:28px;margin:0.2em;-webkit-appearance:button}.gssb_i{background:#eee}.gss_ifl{visibility:hidden;padding-left:5px}.gssb_i .gss_ifl{visibility:visible}a.gssb_j{font-size:13px;color:#36c;text-decoration:none;line-height:100%}a.gssb_j:hover{text-decoration:underline}.gssb_l{height:1px;background-color:#e5e5e5}.gssb_m{color:#000;background:#fff}.gsfe_a{border:1px solid #b9b9b9;border-top-color:#a0a0a0;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);}.gsfe_b{border:1px solid #4d90fe;outline:none;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);}.gssb_a{padding:0 7px}.gssb_e{border:0}.gssb_l{margin:5px 0}.gssb_c .gsc-completion-container{position:static}.gssb_c{z-index:5000}.gsc-completion-container table{background:transparent;font-size:inherit;font-family:inherit}.gssb_c > tbody > tr,.gssb_c > tbody > tr > td,.gssb_d,.gssb_d > tbody > tr,.gssb_d > tbody > tr > td,.gssb_e,.gssb_e > tbody > tr,.gssb_e > tbody > tr > td{padding:0;margin:0;border:0}.gssb_a table,.gssb_a table tr,.gssb_a table tr td{padding:0;margin:0;border:0}</style><script type="text/javascript" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/search.I.js"></script></head>
  <body class="sidebar-right lightbox-processed">
    <!-- Layout -->
    <div class="container"> <!-- add "showgrid" class to display grid -->
  
      <div id="header" class="clearfix">
        <div id="block-block-10" class="block block-block">

  
  <div class="content">
        <div style="width: 250px; float:right; margin-right:50px" id="cse-search-form" dir="ltr"><form class="gsc-search-box" accept-charset="utf-8"><table cellspacing="0" cellpadding="0" class="gsc-search-box"><tbody><tr><td class="gsc-input"><input autocomplete="off" type="text" size="10" class=" gsc-input" name="search" title="поиск" id="gsc-i-id1" dir="ltr" spellcheck="false" style="outline: none; background-image: url(http://www.google.com/cse/intl/ru/images/google_custom_search_watermark.gif); background-color: rgb(255, 255, 255); background-position: 0% 50%; background-repeat: no-repeat no-repeat;"></td><td class="gsc-search-button"><input type="button" value="Поиск" class="gsc-search-button" title="поиск"></td><td class="gsc-clear-button"><div class="gsc-clear-button" title="удалить результаты">&nbsp;</div></td></tr></tbody></table><table cellspacing="0" cellpadding="0" class="gsc-branding"><tbody><tr><td class="gsc-branding-user-defined"></td><td class="gsc-branding-text"><div class="gsc-branding-text">технология</div></td><td class="gsc-branding-img"><img src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/small-logo.png" class="gsc-branding-img"></td></tr></tbody></table></form></div>
<script src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/jsapi" type="text/javascript"></script><script type="text/javascript"> 
  google.load('search', '1', {language : 'ru'});
  google.setOnLoadCallback(function() {
    var customSearchOptions = {};
    var customSearchControl = new google.search.CustomSearchControl(
      '000212414265083961610:_80qtkoe9oo', customSearchOptions);
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    var options = new google.search.DrawOptions();
    options.setSearchFormRoot('cse-search-form');
    customSearchControl.draw('cse', options);
  }, true);
</script><script src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/saved_resource(1)" type="text/javascript"></script><link href="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/default+ru.css" type="text/css" rel="stylesheet"><script src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/default+ru.I.js" type="text/javascript"></script><link type="text/css" href="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/default.css" rel="stylesheet">
  </div>

</div>

                  <a href="http://arduino.ru/" title="">
            <img src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/framework_logo.png" alt="" id="logo">
          </a>
        
        <div id="sitename">
					  
                      <h1><a href="http://arduino.ru/" title="">Arduino.ru</a></h1>
                  </div> <!-- /#sitename -->
      
              </div> <!-- /#header -->

      <div id="nav">
                  <div id="block-menu-primary-links" class="block block-menu">

  
  <div class="content">
        <ul class="menu"><li class="leaf first even"><a href="http://arduino.ru/About" title="Что такое Ардуино?">Что такое Ардуино?</a></li>
<li class="leaf odd"><a href="http://arduino.ru/Arduino_environment" title="Среда разработки Arduino">Среда разработки</a></li>
<li class="leaf even"><a href="http://arduino.ru/Reference" title="Программирование Ардуино">Программирование</a></li>
<li class="leaf odd"><a href="http://arduino.ru/Hardware" title="Аппартная часть платформы Arduino">Контроллеры Arduino</a></li>
<li class="leaf even"><a href="http://arduino.ru/projects" title="">Проекты</a></li>
<li class="leaf odd"><a href="http://arduino.ru/forum" title="">Форум</a></li>
<li class="leaf last even"><a href="http://arduino.ru/buy" title="">Купить в России</a></li>
</ul>  </div>

</div>
<div id="block-block-11" class="block block-block">

  
  <div class="content">
        <div style="width:100%;" id="cse"><div class="gsc-control-cse gsc-control-cse-ru"><div class="gsc-control-wrapper-cse" dir="ltr"><div class="gsc-results-wrapper-nooverlay"><div class="gsc-tabsAreaInvisible"><div class="gsc-tabHeader gsc-inline-block gsc-tabhActive">Пользовательский поиск</div><span class="gs-spacer"> </span></div><div class="gsc-tabsAreaInvisible"></div><div class="gsc-above-wrapper-area-invisible"><table cellspacing="0" cellpadding="0" class="gsc-above-wrapper-area-container"><tbody><tr><td class="gsc-result-info-container"><div class="gsc-result-info-invisible"></div></td></tr></tbody></table></div><div class="gsc-adBlockInvisible"></div><div class="gsc-wrapper"><div class="gsc-adBlockInvisible"></div><div class="gsc-resultsbox-invisible"><div class="gsc-resultsRoot gsc-tabData gsc-tabdActive"><table cellspacing="0" cellpadding="0" class="gsc-resultsHeader"><tbody><tr><td class="gsc-twiddleRegionCell"><div class="gsc-twiddle"><div class="gsc-title">Интернет</div></div><div class="gsc-stats"></div><div class="gsc-results-selector gsc-all-results-active"><div class="gsc-result-selector gsc-one-result" title="показать один результат">&nbsp;</div><div class="gsc-result-selector gsc-more-results" title="показать другие результаты">&nbsp;</div><div class="gsc-result-selector gsc-all-results" title="показать все результаты">&nbsp;</div></div></td><td class="gsc-configLabelCell"></td></tr></tbody></table><div><div class="gsc-expansionArea"></div></div></div></div></div></div></div></div></div>
  </div>

</div>
        
              </div> <!-- /#nav -->

			
      <div id="main">
        <div class="breadcrumb"><a href="http://arduino.ru/">Главная</a></div>                <h2>Множим выходы с помощью сдвигового регистра 74HC595</h2>                                                <div id="node-104" class="node">

  
  
      <span class="submitted">Пт, 18/02/2011 - 21:59 | by <strong>Alexander</strong></span>
  
  <div class="content">
    <p>Рассмотрим типичную ситуацию, когда вам нужно больше выходов (пинов), чем может предложить контроллер Arduino. В этом случае самый простой выход — использовать сдвиговый регистр. В данном примере используется 74HC595.</p>
<p class="rteindent1"><em>74HC595 — восьмиразрядный сдвиговый регистр с последовательным вводом, последовательным или параллельным выводом информации, с триггером-защелкой и тремя состояниями на выходе.</em></p>
<p>Другими словами этот регистр позволяет контролировать 8 выходов, используя всего несколько выходов на самом контроллере. При этом несколько таких регистров можно объединять последовательно для каскадирования. Другие подходящие регистры можно поискать по комбинации "595" и "596" в серийном номере. Так, например, STP16C596 может управлять 16 светодиодами одновременно без использования дополнительных резисторов.</p>
<p>В данной схеме используется принцип синхронизированной последовательной передачи сигнаналов. Необходимые значения сигнала (биты <a href="http://arduino.ru/Reference/Constants">HIGH или LOW</a>)&nbsp; передаются в регистр один за другим, при этом регистр получает синхронизирующий сигнал, который заставляет его считать сигнал с входа. Когда байт (1 байт = 8 бит) считан, значения всех 8 бит распределены по выходам. То есть передаем в регистр сигналы последовательно, на выходах регистра имеем параллельно 8 сигналов.</p>
<p>74HC595 может отдавать сигналы не только параллельно, но и последовательно. Это необходимо при объединении нескольких регистров, для получения 16 и более выходов. В этом случае первые 8 бит сигнала передаются на следующий регистр для параллельного вывода на нем, об этом будет рассказано более подробно во втором примере.</p>
<p>Три возможных состояния на выходе, упомянутые выше, означают, что выход регистра может иметь не только логический ноль или единицу (<a href="http://arduino.ru/Reference/Constants">HIGH или LOW</a>), но и быть в высокоомном (<a href="http://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%B8%D0%BC%D0%BF%D0%B5%D0%B4%D0%B0%D0%BD%D1%81%D0%BD%D0%BE%D0%B5_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5">высокоимпедансном</a>) состоянии — когда выход отключен от схемы. В высокоомное состояние не может быть переведен отдельный выход, а только все выходы регистра разом. Если мы говорим об управлении светодиодами, это может быть полезно в случае, когда мы хотим переключить управление ими на другой контроллер. В примере ниже это состояние никак не используется и довольно редко может быть полезно.</p>
<h6>Распиновка входов/выходов регистра</h6>
<p></p><table cellspacing="0" cellpadding="5" bordercolor="#cccccc" border="1">
<tbody>
<tr>
<td rowspan="9"><img width="254" height="272" alt="" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/74HC595_pin_diagram.png"></td>
<td>Пины 1-7, 15</td>
<td>Q0 " Q7</td>
<td>Параллельные выходы</td>
</tr>
<tr>
<td>Пин 8</td>
<td>GND</td>
<td>Земля</td>
</tr>
<tr>
<td>Пин 9</td>
<td>Q7"</td>
<td>Выход для последовательного соединения регистров</td>
</tr>
<tr>
<td>Пин 10</td>
<td>MR</td>
<td>Сброс значений регистра. Сброс происходит при получение LOW</td>
</tr>
<tr>
<td>Пин 11</td>
<td>SH_CP</td>
<td>Вход для тактовых импульсов</td>
</tr>
<tr>
<td>Пин 12</td>
<td>ST_CP</td>
<td>Синронизация ("защелкивание") выходов</td>
</tr>
<tr>
<td>Пин 13</td>
<td>OE</td>
<td>Вход для переключения состояния выходов из высокоомного в рабочее</td>
</tr>
<tr>
<td>Пин 14</td>
<td>DS</td>
<td>Вход для последовательных данных</td>
</tr>
<tr>
<td>Пин 16</td>
<td>Vcc</td>
<td>Питание</td>
</tr>
</tbody>
</table>
<p></p>
<h6>Пример с одним регистром</h6>
<p>Подключим:</p>
<ul>
<li>GND (пин 8) на землю</li>
<li>Vcc (пин 16) к питанию 5В</li>
<li>OE (пин 13) на землю</li>
<li>MR (пин 10) к питанию 5В</li>
</ul>
<p>Итак, мы запитали регистр и сделали все выходы активными. Это несколько упрощенный способ подключения, так как в момент подачи питания на схему на выходах будут случайные значения. Можно контролировать пин MR и OE непосредственно с Arduino, чтобы обнулить входы и/или подключить выходы в нужный момент. Для упрощения схемы и минимизации количества задействованных выходов Arduino мы будем использовать более простую схему, так как значения регистров и выводов будут перезаписаны, как только программы начнет работать.&nbsp;</p>
<p><img width="600" height="356" alt="Запитка сдвигового регистра 74HC595" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ShftOutPrimer1.gif"></p>
<p>Соединяем с Arduino:</p>
<ul>
<li>DS (пин 14) с 11-ым <a href="http://arduino.ru/Tutorial/DigitalPins">цифровой выход Arduino</a> (на схеме синий провод)</li>
<li>SH_CP (пин 11) с 12-ым цифровым выходом (желтый провод)</li>
<li>ST_CP (пин 12) c 8-ым (зеленый провод)</li>
</ul>
<p>Далее эти выходы в тексте и коде именуются dataPin, clockPin и latchPin соответственно. Обратите внимание на конденсатор 0.1 микрофарада на latchPin, он минимизирует шум в схеме при подаче "защелкивающего" импульса.</p>
<p><img width="599" height="314" alt="подключения сдвигового регистра к Arduino" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ShftOutPrimer1_2.gif"></p>
<p>Подключаем светодиоды к выходам регистра 74HC595, катод (короткая ножка) светодиода подключается к общей земле, а анод (длинная ножка) через ограничительный 220-ОМ резистор к выходам регистра. При использовании регистров отличных от&nbsp; 74HC595 следует свериться с документацией и проверить схему подключения. К некоторым регистрам светодиоды подключаются наоборот — катод к выходам.</p>
<p><img width="599" height="309" alt="Подключение светодиодов к 74HC595" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ShftOutPrimer1_3.gif"></p>
<p>Схема подключения</p>
<p><img width="550" height="421" alt="Схема подключения светодиодов к Arduino через регистр 74HC595" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ShftOut_Schema1.gif"></p>
<p>Ниже приведен код трех программ. Первая, "Hello world", выводит значения байта от 0 до 255. Вторая &nbsp;по одному включает светодиоды. Третья циклически проходит по массиву.</p>
<p><a target="_blank" href="http://arduino.ru/sites/default/files/projects/74HC595/595_timing_diagram.png"><img width="200" hspace="6" height="170" align="right" alt="временная диаграма сигналов регистра" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/595_timing_diagram-200x170.png"></a><a target="_blank" href="http://arduino.ru/sites/default/files/projects/74HC595/595_logic_table.png"><img width="200" height="148" align="right" alt="таблица логики сдвигового регистра" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/595_logic_table-200x148.png"></a>Пониманию кода могут помочь "временная диаграмма сигналов" регистра и "таблица логики". Когда clockPin переглючается с LOW на HIGH, регистр считывает значения с DS пина. По мере считывания данные записываются во внутреннюю память. Когда latchPin&nbsp; переключается с LOW на HIGH, данные "защелкиваются", то есть передаются на выходы регистра, включая светодиоды.</p>
<p>&nbsp;Код примера 1.1</p>
<div id="highlighter_435969" class="syntaxhighlighter  nogutter  "><div class="bar                                            "><div class="toolbar"><a href="http://arduino.ru/Tutorial/registr_74HC595#viewSource" title="код" class="item viewSource" style="width: 16px; height: 16px;">код</a><div class="item copyToClipboard"><embed width="16" height="16" id="highlighter_435969_clipboard" type="application/x-shockwave-flash" title="скопировать" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_435969" menu="false" src="/sites/all/libraries/syntaxhighlighter/scripts/clipboard.swf"></div><a href="http://arduino.ru/Tutorial/registr_74HC595#printSource" title="расечатать" class="item printSource" style="width: 16px; height: 16px;">расечатать</a><a href="http://arduino.ru/Tutorial/registr_74HC595#about" title="?" class="item about" style="width: 16px; height: 16px;">?</a></div></div><div class="lines"><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//**************************************************************//</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Name&nbsp;&nbsp;&nbsp; : shiftOutCode, Hello World&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Author&nbsp; : Carlyn Maw,Tom Igoe, David A. Mellis </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Date&nbsp;&nbsp;&nbsp; : 25 Oct, 2006&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Modified: 23 Mar 2010&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Version : 2.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Notes&nbsp;&nbsp; : Программа использует один сдвиговый регистр 74HC595 </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : для вывода значений от 0 до 255&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//****************************************************************</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к ST_CP входу 74HC595</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">latchPin = 8;</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к SH_CP входу 74HC595</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">clockPin = 12;</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к DS входу 74HC595</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">dataPin = 11;</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">setup() {</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">//устанавливаем режим OUTPUT</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(latchPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(clockPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(dataPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">loop() {</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// отсчитываем от 0 до 255&nbsp; и отображаем значение на светодиоде</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="keyword">for</code> <code class="plain">(</code><code class="keyword">int</code> <code class="plain">numberToDisplay = 0; numberToDisplay &lt; 256; numberToDisplay++) {</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// устанавливаем синхронизацию "защелки" на LOW</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">digitalWrite(latchPin, LOW);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// передаем последовательно на dataPin</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay);&nbsp; </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">//"защелкиваем" регистр, тем самым устанавливая значения на выходах</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">digitalWrite(latchPin, HIGH);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// пауза перед следующей итерацией</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">delay(500);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div></div></div><p>Код примера 1.2</p>
<div id="highlighter_455058" class="syntaxhighlighter  nogutter  "><div class="bar                           "><div class="toolbar"><a href="http://arduino.ru/Tutorial/registr_74HC595#viewSource" title="код" class="item viewSource" style="width: 16px; height: 16px;">код</a><div class="item copyToClipboard"><embed width="16" height="16" id="highlighter_455058_clipboard" type="application/x-shockwave-flash" title="скопировать" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_455058" menu="false" src="/sites/all/libraries/syntaxhighlighter/scripts/clipboard.swf"></div><a href="http://arduino.ru/Tutorial/registr_74HC595#printSource" title="расечатать" class="item printSource" style="width: 16px; height: 16px;">расечатать</a><a href="http://arduino.ru/Tutorial/registr_74HC595#about" title="?" class="item about" style="width: 16px; height: 16px;">?</a></div></div><div class="lines"><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">/*</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">Shift Register Example</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">for 74HC595 shift register</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">Created 22 May 2009</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">Created 23 Mar 2010</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">by Tom Igoe</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">*/</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к ST_CP входу 74HC595</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">latchPin = 8;</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к SH_CP входу 74HC595</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">clockPin = 12;</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к DS входу 74HC595</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">dataPin = 11;</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">setup() {</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">//устанавливаем режим OUTPUT</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(latchPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(dataPin, OUTPUT);&nbsp; </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(clockPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">Serial.begin(9600);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">Serial.println(</code><code class="string">"reset"</code><code class="plain">);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">loop() {</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="keyword">if</code> <code class="plain">(Serial.available() &gt; 0) {</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// Символы от '0' до '9' </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// представлены в ASCII таблице значения от 48 до 57.</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="keyword">int</code> <code class="plain">bitToSet = Serial.read() - 48;</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// Записываем HIGH в позицию соответствующую bitToSet</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">registerWrite(bitToSet, HIGH);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">// Этот метот записывает байт в регистр</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">registerWrite(</code><code class="keyword">int</code> <code class="plain">whichPin, </code><code class="keyword">int</code> <code class="plain">whichState) {</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">// инициализируем и обнуляем байт</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="keyword">byte</code> <code class="plain">bitsToSend = 0;</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">//Отключаем вывод на регистре</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">digitalWrite(latchPin, LOW);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// устанавливаем HIGH в соответствующем бите</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">bitWrite(bitsToSend, whichPin, whichState);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// проталкиваем байт в регистр</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">shiftOut(dataPin, clockPin, MSBFIRST, bitsToSend);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// "защелкиваем" регистр, чтобы байт появился на его выходах</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">digitalWrite(latchPin, HIGH);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div></div></div><h6>Пример использования каскада сдвиговых регистров</h6>
<p>В этом примере подключаются два регистра, доводя количество выходов до 16, при это на Arduino по прежнему задействовано то же количество выходов.</p>
<p>Подключаем второй регистр к питанию и общей земле точно так же, как и первый.</p>
<p><img width="600" height="356" alt="подключаем второй сдвиговый регистр 74HC595" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ShftOutPrimer2_1.gif"></p>
<p>Далее DS вход (пин 14) подключается к Q7' выходу (пин 9) первого регистра (синий провод). А SH_CP (пин 11) и ST_CP (pin 12) подключаются параллельно регистру к соответствующим входам первого регистра. Желтый и зеленый провод соответственно.</p>
<p><img width="600" height="356" alt="каскадируем вторым регистром 74HC595" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ShftOutPrimer2_2.gif"></p>
<p>К выходам второго регистра подключаем зеленые светодиоды.</p>
<p><img width="599" height="599" alt="подключение светодиодов к второму регистру" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ShftOutPrimer2_3.gif"></p>
<p>Схема подключения</p>
<p><img width="550" height="701" alt="схема подключения каскада из двух сдвиговых регистров к Arduino" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/ShftOut_Schema2.gif"></p>
<p>&nbsp;</p>
<p>Код примера 2.1</p>
<div id="highlighter_607963" class="syntaxhighlighter collapsed nogutter  "><div class="bar"><div class="toolbar"><a href="http://arduino.ru/Tutorial/registr_74HC595#expandSource" title="показать код" class="item expandSource" style="width: 16px; height: 16px;">показать код</a><a href="http://arduino.ru/Tutorial/registr_74HC595#viewSource" title="код" class="item viewSource" style="width: 16px; height: 16px;">код</a><div class="item copyToClipboard"><embed width="16" height="16" id="highlighter_607963_clipboard" type="application/x-shockwave-flash" title="скопировать" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_607963" menu="false" src="/sites/all/libraries/syntaxhighlighter/scripts/clipboard.swf"></div><a href="http://arduino.ru/Tutorial/registr_74HC595#printSource" title="расечатать" class="item printSource" style="width: 16px; height: 16px;">расечатать</a><a href="http://arduino.ru/Tutorial/registr_74HC595#about" title="?" class="item about" style="width: 16px; height: 16px;">?</a></div></div><div class="lines"><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//**************************************************************//</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Name&nbsp;&nbsp;&nbsp; : shiftOutCode, Hello World&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Author&nbsp; : Carlyn Maw,Tom Igoe, David A. Mellis </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Date&nbsp;&nbsp;&nbsp; : 25 Oct, 2006&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Modified: 21 Mar 2010&nbsp; </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Modified: 19 Feb 2011&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Version : 2.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//&nbsp; Notes&nbsp;&nbsp; : Программа использует два сдвиговых регистра 74HC595 </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : для вывода значений от 0 до 255&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//****************************************************************</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к ST_CP входу 74HC595</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">latchPin = 8;</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к SH_CP входу 74HC595</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">clockPin = 12;</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к DS входу 74HC595</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">int</code> <code class="plain">dataPin = 11;</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">setup() {</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">//устанавливаем режим OUTPUT</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(latchPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(clockPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(dataPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">loop() {</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// отсчитываем от 0 до 255&nbsp; и отображаем значение на светодиоде</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="keyword">for</code> <code class="plain">(</code><code class="keyword">int</code> <code class="plain">numberToDisplay = 0; numberToDisplay &lt; 256; numberToDisplay++) {</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// устанавливаем синхронизацию "защелки" на LOW</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">digitalWrite(latchPin, LOW);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// передаем отсчет для вывода на зеленые светодиоды</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay);&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// передаем обратный отсчет&nbsp; для вывода на красные светодиоды</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">shiftOut(dataPin, clockPin, MSBFIRST, 255-numberToDisplay);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">//"защелкиваем" регистр, тем самым устанавливая значения на выходах</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">digitalWrite(latchPin, HIGH);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// пауза перед следующей итерацией</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">delay(500);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div></div></div><p>Код примера 2.2:</p>
<div id="highlighter_526841" class="syntaxhighlighter collapsed nogutter  "><div class="bar"><div class="toolbar"><a href="http://arduino.ru/Tutorial/registr_74HC595#expandSource" title="показать код" class="item expandSource" style="width: 16px; height: 16px;">показать код</a><a href="http://arduino.ru/Tutorial/registr_74HC595#viewSource" title="код" class="item viewSource" style="width: 16px; height: 16px;">код</a><div class="item copyToClipboard"><embed width="16" height="16" id="highlighter_526841_clipboard" type="application/x-shockwave-flash" title="скопировать" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_526841" menu="false" src="/sites/all/libraries/syntaxhighlighter/scripts/clipboard.swf"></div><a href="http://arduino.ru/Tutorial/registr_74HC595#printSource" title="расечатать" class="item printSource" style="width: 16px; height: 16px;">расечатать</a><a href="http://arduino.ru/Tutorial/registr_74HC595#about" title="?" class="item about" style="width: 16px; height: 16px;">?</a></div></div><div class="lines"><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">/*</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">Программа поочередно включается все светодиоды, подключенные к двум</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">сдвиговым регистрам 74HC595 .Created 22 May 2009</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">Modified 23 Mar 2010</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">by Tom Igoe</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;</code><code class="comments">*/</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к ST_CP входу 74HC595</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">const</code> <code class="keyword">int</code> <code class="plain">latchPin = 8;</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к SH_CP входу 74HC595</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">const</code> <code class="keyword">int</code> <code class="plain">clockPin = 12;</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="comments">//Пин подключен к DS входу 74HC595</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">const</code> <code class="keyword">int</code> <code class="plain">dataPin = 11;</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">char</code> <code class="plain">inputString[2];</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">setup() {</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;</code><code class="comments">//устанавливаем режим OUTPUT</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(latchPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(dataPin, OUTPUT);&nbsp; </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">pinMode(clockPin, OUTPUT);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">Serial.begin(9600);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">Serial.println(</code><code class="string">"reset"</code><code class="plain">);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">loop() {</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// проходим циклом по всем 16 выходам двух регистров</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="keyword">for</code> <code class="plain">(</code><code class="keyword">int</code> <code class="plain">thisLed = 0; thisLed &lt; 16; thisLed++) {</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// записываем сигнал в регистр для очередного светодиода</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">registerWrite(thisLed, HIGH);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// если это не первый светодиод, то отключаем предыдущий</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="keyword">if</code> <code class="plain">(thisLed &gt; 0) {</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">registerWrite(thisLed - 1, LOW);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">} </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// если это первый светодиод, то отключаем последний</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="keyword">else</code> <code class="plain">{</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">registerWrite(15, LOW);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">} </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="comments">// делаем паузу перед следующией итерацией</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">delay(250);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="comments">// этот метод отсылает бит на сдвиговый регистр</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="keyword">void</code> <code class="plain">registerWrite(</code><code class="keyword">int</code> <code class="plain">whichPin, </code><code class="keyword">int</code> <code class="plain">whichState) {</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// для хранения 16 битов используем unsigned int</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">unsigned </code><code class="keyword">int</code> <code class="plain">bitsToSend = 0;&nbsp;&nbsp;&nbsp; </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// выключаем светодиоды на время передачи битов</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">digitalWrite(latchPin, LOW);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// устанавливаем HIGH в соответствующий бит </code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">bitWrite(bitsToSend, whichPin, whichState);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// разбиваем наши 16 бит на два байта </code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// для записи в первый и второй регистр</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="keyword">byte</code> <code class="plain">registerOne = highByte(bitsToSend);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="keyword">byte</code> <code class="plain">registerTwo = lowByte(bitsToSend);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// "проталкиваем" байты в регистры</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">shiftOut(dataPin, clockPin, MSBFIRST, registerTwo);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">shiftOut(dataPin, clockPin, MSBFIRST, registerOne);</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content">&nbsp;</td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="comments">// "защелкиваем" регистр, чтобы биты появились на выходах регистра</code></td></tr></tbody></table></div><div class="line alt1"><table><tbody><tr><td class="content"><code class="spaces">&nbsp;&nbsp;</code><code class="plain">digitalWrite(latchPin, HIGH);</code></td></tr></tbody></table></div><div class="line alt2"><table><tbody><tr><td class="content"><code class="plain">}</code></td></tr></tbody></table></div></div></div><p>&nbsp;</p>
  </div>

  <div class="meta clearfix">

    
    
  </div>

</div>
      </div> <!-- /#main -->

              <div id="sidebar-right" class="sidebar">
          <div id="block-user-0" class="block block-user">

      <h3>Авторизация</h3>
  
  <div class="content">
        <form action="http://arduino.ru/Tutorial/registr_74HC595?destination=node%2F104" accept-charset="UTF-8" method="post" id="user-login-form">
<div><div class="form-item" id="edit-name-wrapper">
 <label for="edit-name">Имя пользователя или e-mail: <span class="form-required" title="Обязательное поле">*</span></label>
 <input type="text" maxlength="60" name="name" id="edit-name" size="15" value="" class="form-text required">
</div>
<div class="form-item" id="edit-pass-wrapper">
 <label for="edit-pass">Пароль: <span class="form-required" title="Обязательное поле">*</span></label>
 <input type="password" name="pass" id="edit-pass" maxlength="60" size="15" class="form-text required">
</div>
<input type="submit" name="op" id="edit-submit" value="Авторизация" class="form-submit">
<div class="item-list"><ul><li class="first"><a href="http://arduino.ru/user/register" title="Создать новую учетную запись пользователя.">Регистрация</a></li>
<li class="last"><a href="http://arduino.ru/user/password" title="Запросить новый пароль по электронной почте.">Забыли пароль?</a></li>
</ul></div><input type="hidden" name="form_build_id" id="form-d7f17ac59d083cd078a608869149e018" value="form-d7f17ac59d083cd078a608869149e018">
<input type="hidden" name="form_id" id="edit-user-login-block" value="user_login_block">

</div></form>
  </div>

</div>
<div id="block-block-9" class="block block-block">

      <h3>Примеры</h3>
  
  <div class="content">
        <p><a href="http://arduino.ru/Tutorial/Fade">Изменяем яркость светодиода</a> — плавное изменение яркости светодиода функцией <a href="http://arduino.ru/Reference/AnalogWrite">analogWrite()</a>.</p>
<p><a href="http://arduino.ru/tutorials/blink">Мигаем светодиодом</a> — пример подключения светодиода к Arduino и работы с ним</p>
<p><a href="http://arduino.ru/tutorials/button">Тактовая кнопка</a> — считывание состояния кнопки</p>
<p><a href="http://arduino.ru/tutorials/BlinkWithoutDelay">Мигаем светодиодом без delay()</a> - еще один, более практичный способ мигать светодиодом</p>
<p><a href="http://arduino.ru/forum/programmirovanie/upravlenie-servoi-cherez-fotorezistorugol-zavisit-ot-osveshcheniya">Управление сервой фоторезистором</a> - угол зависит от освещения</p>
  </div>

</div>
        </div> <!-- /#sidebar-right -->
      
       <div class="clear"></div> 
       <div id="push"></div> 
    </div> <!-- /.container -->
    <!-- /layout -->

   <div id="footer" class="clear">
        <div id="block-block-5" class="block block-block">

  
  <div class="content">
        <div style="float: left; margin: 18px 0pt 0pt 18px;">Материалы по программированию Arduino переведены с официального сайта проекта Ардуино&nbsp;— <a target="_blank" href="http://arduino.cc/">http://arduino.cc</a><br>
и представлены по лицензии <a rel="nofollow" target="_blank" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br>
Электропочта для связи: <strong>     <script language="javascript">
        <!--
        var part1 = "pochta";
        var part2 = "arduino.ru";
        document.write("<a href=\"mailto:"+ part1 + '@' + part2+"\">"+part1 + '@' + part2+"<\/a>");
        // -->
    </script><a href="mailto:pochta@arduino.ru">pochta@arduino.ru</a>     </strong></div>  </div>

</div>
              </div> <!-- /#footer -->
  <script type="text/javascript" src="./Множим выходы с помощью сдвигового регистра 74HC595   Аппаратная платформа Arduino_files/js_9634bc3f3b3595c3cd0855aaebe5ecdc.js"></script>

  

<div id="lightbox2-overlay" style="display: none;"></div>      <div id="lightbox" style="display: none;" class="lightbox2-orig-layout">        <div id="outerImageContainer" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"><div id="modalContainer" style="display: none; padding: 10px;"></div><div id="frameContainer" style="display: none; padding: 10px;"></div><div id="imageContainer" style="display: none; padding: 10px;"><img id="lightboxImage" alt=""><div id="hoverNav"><a id="prevLink" title="Previous" href="http://arduino.ru/Tutorial/registr_74HC595#" style="padding-top: 10px;"></a><a id="nextLink" title="Next" href="http://arduino.ru/Tutorial/registr_74HC595#" style="padding-top: 10px;"></a></div></div><div id="loading"><a href="http://arduino.ru/Tutorial/registr_74HC595#" id="loadingLink"></a></div></div>        <div id="imageDataContainer" class="clearfix" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">          <div id="imageData"><div id="imageDetails"><span id="caption"></span><span id="numberDisplay"></span></div><div id="bottomNav"><div id="frameHoverNav"><a id="framePrevLink" title="Previous" href="http://arduino.ru/Tutorial/registr_74HC595#" style="padding-top: 10px;"></a><a id="frameNextLink" title="Next" href="http://arduino.ru/Tutorial/registr_74HC595#" style="padding-top: 10px;"></a></div><a id="bottomNavClose" title="Close" href="http://arduino.ru/Tutorial/registr_74HC595#" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"></a><a id="bottomNavZoom" href="http://arduino.ru/Tutorial/registr_74HC595#"></a><a id="bottomNavZoomOut" href="http://arduino.ru/Tutorial/registr_74HC595#"></a><a id="lightshowPause" title="Pause Slideshow" href="http://arduino.ru/Tutorial/registr_74HC595#" style="display: none;"></a><a id="lightshowPlay" title="Play Slideshow" href="http://arduino.ru/Tutorial/registr_74HC595#" style="display: none;"></a></div></div>        </div>      </div><table cellspacing="0" cellpadding="0" class="gstl_50 gssb_c" style="width: 166px; display: none; top: 37px; left: 1127px; position: absolute;"><tbody><tr><td class="gssb_f"></td><td class="gssb_e" style="width: 100%;"></td></tr></tbody></table></body></html>